/**
 * C14公司供应信息20151103
 *
 * @author ghn-20151103.
 * @authro fsl-gonglong-20151108.
 */
$(function () {
    commTemplUtil.initPage();
    
    // 顶部广告,
    $("#comm-top-ad").attr("src", PAGE_DATA.commImg || "");
    
    //初始化公司供应信息列表
    getClassifyData(1);
    //初始化公司基本信息
    initcompny();
    // 初始化导航栏, 如:"店铺首页".
    initStoreCommNav("store-comm-nav", PAGE_DATA.storeCommNav || []);
    
});

/**
 * 初始化公司供应信息.<br/>
 * 
 */
function getClassifyData(page) {
    
    var defaultPagingObj = {
        total : 0,
        pageSize : 10,
        page : 1
    };
    
    PAGE_DATA.pagingObj = $.extend(defaultPagingObj, PAGE_DATA.pagingObj);
    
    var onClickObj = {
        onClick : function () {
            var clickPage = $(this).attr("data-page");
            getClassifyData(parseInt(clickPage));
        }
    };
    //列表模板
    var classifyTempl = _.template($('#info-template').html());
    
    $.ajax({
        url : PAGE_CONFIG.requestUrl.queryCompaySuply,
        type : "get",
        data : {
            cid : PAGE_DATA.cid, //公司ID
            page : page,
            pageSize : PAGE_DATA.pagingObj.pageSize || 10
        },
        success : function (result) {
            //响应
            setClassifyData('info-list-box', result.data, classifyTempl);
            
            //  更新翻页控件
            var tmpConf = $.extend(result.pagingConfData, onClickObj);
            commTemplUtil.initPaging("#comm-paging", tmpConf);
        },
        error : function () {
            var conf = {
                title : "注意",
                message : "获取供应信息失败!",
                ok_txt : "确定"
            };
            commTemplUtil.showErrorDialog(conf);
        }
    });
};

/**
 * 生成 "供应信息" 列表.<br/>
 *
 */
function setClassifyData(id, data, templ) {
    var classifyTemplHtml = templ(data);
    $("#" + id).html(classifyTemplHtml);
    var getLoginState = COMM_DATA.topObj.loginFlag;
    var getLoginHref = COMM_DATA.topObj.login_href;
    if(getLoginState == "0"){
        $(".enquiry-btn").click(function () {
            location.href=""+COMM_DATA.topObj.login_href+"";
        });
    }else{
        var getSo = COMM_DATA.topObj.createid;
        if(getSo == "1"){
            $(".enquiry-btn").click(function(){
                alert("供应商不能询盘");
            });
        }else{
    createDialog();
        }
    }
};

/**
 * 初始化公司基本信息.
 *
 */
function initcompny() {
    
    var defaultBaseInfo = {
        id : '', //公司id
        logo : '', //公司logo
        name : '', //公司名称
        storekeeper : '', //店主.
        creditLimit : '', // 信用度.
        storeGrade : '', //店铺等级.
        goodAmount : '', // 商品数量.
        region : '', //所在地区
        createTime : '', //创店时间.
        certification : '', // 认证
        addr : '.', //详细地址
        contactPhone : '', //联系电话.
        authorityState : '' // 授权状态, --'请登录后查看.
    };
    
    $.ajax({
        url : PAGE_CONFIG.requestUrl.querycompny,
        type : "get",
        data : {
            cid : PAGE_DATA.cid // 公司ID
        },
        success : function (result) {
            
            var baseData = $.extend(defaultBaseInfo, result.data.baseInfo);
            var baseInfoTempl = _.template($("#baseinfo-templ").html());
            var baseInfoHtml = baseInfoTempl(baseData);
            $("#company-baseinfo").html(baseInfoHtml);
            
            // 店铺分类
            var classifyData = $.extend([], result.data.storeClassify);
            initStoreClassify("store-classify", classifyData);
            
        },
        error : function () {
            var conf = {
                title : "注意",
                message : "获取行业资讯失败!",
                ok_txt : "确定"
            };
            commTemplUtil.showErrorDialog(conf);
        }
    });
};

/**
 * 初始化 "店铺首页", "公司介绍" 等导航项目.<br/>
 * @param domid {string} 包含导航内容的 容器dom的属性id<br/>
 * @param data {data} 导航数据.
 *
 * @author fsl-gonglong-20151108
 */
function initStoreCommNav(domid, data) {
    var navTempl = " <%_.each(obj, function(item){  %> <a href='<%=item.hrefVal %>'><%=item.text %></a> <% }); %>";
    var navTemplObj = _.template(navTempl);
    var navHtml = navTemplObj(data);
    
    $("#"+domid).html(navHtml);
    
};


/**
 * 初始化 "店铺分类"<br/>
 * @param domid {string} 包含店铺分类的 容器dom的属性id<br/>
 * @param data {data} 分类数据.
 *
 * @author fsl-gonglong-20151108
 */
function initStoreClassify(domid, data) {
    
    var classifyData = $.extend([], data);
    var classifyTempl = _.template($("#classify-templ").html());
    var classifyHtml = classifyTempl(classifyData);
    $("#" + domid).html(classifyHtml);
    
    $("#" + domid).find(".show-hidden").on("click", function(){
        var childClassify = $(this).parents(".tabl-tree").next();
        var icon = $(this).find(".icon");
        
        var isHidden = (childClassify.css("display") == 'none');
        
        if(isHidden){
            // 展开二级分类.
            childClassify.show();
            icon.removeClass("bg-plus").addClass("bg-minux");
        }else{
            // 折叠二级分类.
            childClassify.hide();
            icon.removeClass("bg-minux").addClass("bg-plus");
        }
    });
    
};

//弹出框的加载
function createDialog() {
    var tmplObj = _.template($('#supply_offer_templ').html());
    var tmplObjHtml = tmplObj();
    $(".enquiry-btn").click(function() {
        var getCode = $(this).attr("code");
        var getMax = $(this).attr("maxSupply");
        var dia = dialog({
            id: 'offer-info',
            title: ' ',
            content: tmplObjHtml,
            onshow: function() {
                //弹出框的验证
                $("[id='content:offer-info']").find("#supper_offer_sub").validate({
                    rules: {
                        price: {
                            required: true,
                            number: true,
                        },
                        amount: {
                            required: true,
                            digits: true,
                        },
                        contact_name: "required",
                        contact_phone: {
                            required: true,
                            mobileCHINA: true,
                        },
                        county_id: "required",
                    },
                    messages: { // 
                        contact_phone: {
                            required: "请输入手机号码",
                            mobileCHINA: "请输入有效手机号码"
                        },
                        amount: {
                            digits: "只能输入整数",
                        },
                    },
                    errorPlacement: function(error, element) {
                        if (element.attr("name") == "signflag") {
                            element.parents(".electronic-bottom").append(error);
                        } else {
                            element.parents(".enquiry").after($("<div class='key-lbl tc' style='width:auto;'/>").append(error));
                        }
                    },

                });
            }
        });
        dia.showModal();
        $("#offer_id").attr("value", getCode);
        $("#max_offer").attr("value", getMax);
        //弹出框 地区的加载
        var addrTemplObj = _.template($('#addr-option-templ').html());
        renderPage();

        function renderPage() {
            // 省
            $.ajax({
                url: PAGE_CONFIG.requestUrl.addrProvince,
                type: 'get',
                dataType: 'json',
                success: function(result) {
                    var datas = $.extend([], result.data);
                    var tmplObjHtml = addrTemplObj(datas);
                    $("#province").html(tmplObjHtml);
                },
                error: function(xhr, status, error) {
                    var tmplObjHtml = addrTemplObj([]);
                    $("#province").html(tmplObjHtml);
                }
            });

            $("#province").on("change", function () {
                var code = $(this).val();
                renderAddrCity(code);
            });

            $("#city").on("change", function () {
                var code = $(this).val();
                renderAddrCounty(code);
            });

            function renderAddrCity(provinceCode) {

                // 市
                $.ajax({
                    url: PAGE_CONFIG.requestUrl.addrCity,
                    type: 'post',
                    dataType: 'json',
                    data: {
                        code: provinceCode,
                        _token: COMM_DATA.csrfToken,
                    },
                    success: function(result) {
                        var datas = $.extend([], result.data);
                        var tmplObjHtml = addrTemplObj(datas);
                        $("#city").html(tmplObjHtml);

                    },
                    error: function(xhr, status, error) {
                        var tmplObjHtml = addrTemplObj([]);
                        $("#city").html(tmplObjHtml);
                    }
                });

                $("#city").empty().html(addrTemplObj([]));
                $("#county").empty().html(addrTemplObj([]));
            };

            function renderAddrCounty(cityCode) {
                // 区/县
                $.ajax({
                    url: PAGE_CONFIG.requestUrl.addrCounty,
                    type: 'post',
                    dataType: 'json',
                    data: {
                        code: cityCode,
                        _token: COMM_DATA.csrfToken,
                    },
                    success: function(result) {
                        var datas = $.extend([], result.data);
                        var tmplObjHtml = addrTemplObj(datas);
                        $("#county").html(tmplObjHtml);

                    },
                    error: function(xhr, status, error) {
                        var tmplObjHtml = addrTemplObj([]);
                        $("#county").html(tmplObjHtml);
                    }
                });
            };
        };
    });

};